In the past, computer systems tended to be huge, expensive, highly centralized mainframes. However, advances in the semiconductor and electronic arts led to smaller, more versatile minicomputers, workstations, and personal desktop computers. Today, mobile laptop, notebook, pen-based, and personal digital assistant computer systems are gaining widespread popularity.
These portable computer systems and other electronic devices are often powered by charge storage devices, such as batteries. Users of these devices need to know the present state of charge of the battery. Without such information, it is difficult for the user to guess at the remaining operating time before the battery becomes depleted. A user might experience an inconvenient interruption or worse, lose valuable data due to a power outage. Moreover, knowing the present charge left in the battery is advantageous because when the computer system determines that the battery is in imminent danger of becoming depleted, it may initiate a power conservation feature or automatically shutdown.
In addition, it would be helpful if the user were to be informed of the overall battery condition. In other words, the energy storing capacity of the battery should be indicated to the user. Based on this information, the user knows when the battery needs to be reconditioned or disposed of and replaced.
In spite of these needs, portable electronic devices often lack the capability to monitor the charge consumption and/or the overall condition of the battery. One reason is due to the fact that implementing such a monitoring circuit is complex and costly. In addition, prior art battery monitoring mechanisms typically utilized timers and oscillators. Operation of these timers and oscillators contributed to hasten the depletion of the battery's stored charge.
Besides which, battery monitoring mechanisms tended to be highly inaccurate and unreliable. The most common battery technology, lead-acid, offers predictable linear voltage discharge curves. Unfortunately, lead-acid batteries have approximately half the power density of alternative battery technologies. Hence, lead-acid batteries are not attractive for use in portable applications. Newer technologies such as Nickel-Metal-Hydride (NiMH) and Nickel-Cadmium (NiCd) batteries offer substantially greater power density and charge capacity. However, NiMH and NiCd batteries exhibit complex, often unpredictable discharge characteristics. Consequently, voltage monitoring is an inaccurate and unreliable guide to the charged state of these batteries.
One prior art mechanism for reporting battery energy involves using a fixed maximum energy value and a runtime counter of the energy consumed by the system. The difference between these two values divided by the maximum results in a percentage of charge calculation based on energy units. This calculation is fairly accurate when the energy consumption count is valid. However, there are frequent situations when that count value is invalid or otherwise inaccurate. For example, there might be cumulative errors in runtime readings, battery condition, variance of actual maximums, partial charges, and/or batteries charged externally. Another prior art mechanism involved applying a fixed maximum voltage level to runtime voltage readings. Once again, after normalization, the difference between these two values divided by the maximum results in a percentage of charge calculation based on voltage. However, this voltage based form of energy reporting is one of the least accurate methods. Yet, it is one of the most widely used energy reporting mechanisms because of the limited situations whereby the energy count is valid in the system.
Further complicating matters is the fact that effective battery capacity is dependent on the temperature of the battery under consideration. Changes in temperature over the normal operating range for portable computing (e.g., 20.degree. C.-40.degree. C.) can have a significant impact in the usable energy supplied by a battery. Furthermore, the loading on the battery is highly variable. Sometimes, the battery is heavily loaded, whereas on other occasions, it is lightly loaded.
Thus, there is a need in the prior art for an apparatus and method of determining a charge of a battery. It would be preferable if such an apparatus and method could be implemented with hardware already existing in the portable device.